Upgrade NOTE: commented out 'float4 unity_DynamicLightmapST', a built-in variable
Upgrade NOTE: commented out 'float4 unity_LightmapST', a built-in variable
Upgrade NOTE: commented out 'float4 unity_ShadowFadeCenterAndType', a built-in variable
Upgrade NOTE: commented out 'float4x4 _World2Object', a built-in variable
Upgrade NOTE: replaced '_World2Object' with 'unity_WorldToObject'
Upgrade NOTE: replaced 'mul(UNITY_MATRIX_MVP,*)' with 'UnityObjectToClipPos(*)'
Upgrade NOTE: replaced 'unity_World2Shadow' with 'unity_WorldToShadow'

Shader "Standard" {
Properties {
 _Color ("Color", Color) = (1,1,1,1)
 _MainTex ("Albedo", 2D) = "white" { }
 _Cutoff ("Alpha Cutoff", Range(0,1)) = 0.5
 _Glossiness ("Smoothness", Range(0,1)) = 0.5
[Gamma]  _Metallic ("Metallic", Range(0,1)) = 0
 _MetallicGlossMap ("Metallic", 2D) = "white" { }
 _BumpScale ("Scale", Float) = 1
 _BumpMap ("Normal Map", 2D) = "bump" { }
 _Parallax ("Height Scale", Range(0.005,0.08)) = 0.02
 _ParallaxMap ("Height Map", 2D) = "black" { }
 _OcclusionStrength ("Strength", Range(0,1)) = 1
 _OcclusionMap ("Occlusion", 2D) = "white" { }
 _EmissionColor ("Color", Color) = (0,0,0,1)
 _EmissionMap ("Emission", 2D) = "white" { }
 _DetailMask ("Detail Mask", 2D) = "white" { }
 _DetailAlbedoMap ("Detail Albedo x2", 2D) = "grey" { }
 _DetailNormalMapScale ("Scale", Float) = 1
 _DetailNormalMap ("Normal Map", 2D) = "bump" { }
[Enum(UV0,0,UV1,1)]  _UVSec ("UV Set for secondary textures", Float) = 0
[HideInInspector]  _Mode ("__mode", Float) = 0
[HideInInspector]  _SrcBlend ("__src", Float) = 1
[HideInInspector]  _DstBlend ("__dst", Float) = 0
[HideInInspector]  _ZWrite ("__zw", Float) = 1
}
SubShader { 
 LOD 300
 Tags { "RenderType"="Opaque" "PerformanceChecks"="False" }
 Pass {
  Name "FORWARD"
  Tags { "LIGHTMODE"="ForwardBase" "SHADOWSUPPORT"="true" "RenderType"="Opaque" "PerformanceChecks"="False" }
  ZWrite [_ZWrite]
  Blend [_SrcBlend] [_DstBlend]
  GpuProgramID 39223
CGPROGRAM
//#pragma target 4.0

#pragma vertex vert
#pragma fragment frag

#include "UnityCG.cginc"
#define conv_mxt4x4_0(mat4x4) float4(mat4x4[0].x,mat4x4[1].x,mat4x4[2].x,mat4x4[3].x)
#define conv_mxt4x4_1(mat4x4) float4(mat4x4[0].y,mat4x4[1].y,mat4x4[2].y,mat4x4[3].y)
#define conv_mxt4x4_2(mat4x4) float4(mat4x4[0].z,mat4x4[1].z,mat4x4[2].z,mat4x4[3].z)
#define conv_mxt4x4_3(mat4x4) float4(mat4x4[0].w,mat4x4[1].w,mat4x4[2].w,mat4x4[3].w)


#define CODE_BLOCK_VERTEX
//uniform float4 _Time;
//uniform float4 _SinTime;
//uniform float4 _CosTime;
//uniform float4 unity_DeltaTime;
//uniform float3 _WorldSpaceCameraPos;
//uniform float4 _ProjectionParams;
//uniform float4 _ScreenParams;
//uniform float4 _ZBufferParams;
//uniform float4 unity_OrthoParams;
//uniform float4 unity_CameraWorldClipPlanes[6];
//uniform mat4x4 unity_CameraProjection;
//uniform mat4x4 unity_CameraInvProjection;
//uniform float4 _WorldSpaceLightPos0;
//uniform float4 _LightPositionRange;
//uniform float4 unity_4LightPosX0;
//uniform float4 unity_4LightPosY0;
//uniform float4 unity_4LightPosZ0;
//uniform float4 unity_4LightAtten0;
//uniform float4 unity_LightColor[8];
//uniform float4 unity_LightPosition[8];
//uniform float4 unity_LightAtten[8];
//uniform float4 unity_SpotDirection[8];
//uniform float4 unity_SHAr;
//uniform float4 unity_SHAg;
//uniform float4 unity_SHAb;
//uniform float4 unity_SHBr;
//uniform float4 unity_SHBg;
//uniform float4 unity_SHBb;
//uniform float4 unity_SHC;
uniform float3 unity_LightColor0;
uniform float3 unity_LightColor1;
uniform float3 unity_LightColor2;
uniform float3 unity_LightColor3;
uniform float4x4 unity_ShadowSplitSpheres;
uniform float4 unity_ShadowSplitSqRadii;
//uniform float4 unity_LightShadowBias;
//uniform float4 _LightSplitsNear;
//uniform float4 _LightSplitsFar;
uniform mat4x4x4 unity_WorldToShadow;
//uniform float4 _LightShadowData;
// uniform float4 unity_ShadowFadeCenterAndType;
//uniform mat4x4 UNITY_MATRIX_MVP;
//uniform mat4x4 UNITY_MATRIX_MV;
//uniform mat4x4 UNITY_MATRIX_IT_MV;
//uniform mat4x4 unity_ObjectToWorld;
uniform mat4x4 unity_WorldToObject;
//uniform float4 unity_LODFade;
//uniform float4 unity_WorldTransformParams;
//uniform mat4x4 glstate_matrix_transpose_modelview0;
//uniform mat4x4 UNITY_MATRIX_P;
//uniform float4 glstate_lightmodel_ambient;
//uniform mat4x4 unity_MatrixV;
//uniform mat4x4 unity_MatrixVP;
//uniform float4 unity_AmbientSky;
//uniform float4 unity_AmbientEquator;
//uniform float4 unity_AmbientGround;
//uniform float4 unity_FogColor;
//uniform float4 unity_FogParams;
// uniform float4 unity_LightmapST;
// uniform float4 unity_DynamicLightmapST;
//uniform float4 unity_SpecCube0_BoxMax;
//uniform float4 unity_SpecCube0_BoxMin;
//uniform float4 unity_SpecCube0_ProbePosition;
//uniform float4 unity_SpecCube0_HDR;
//uniform float4 unity_SpecCube1_BoxMax;
//uniform float4 unity_SpecCube1_BoxMin;
//uniform float4 unity_SpecCube1_ProbePosition;
//uniform float4 unity_SpecCube1_HDR;
uniform float4 unity_ColorSpaceGrey;
//uniform float4 unity_ColorSpaceDouble;
uniform float4 unity_ColorSpaceDielectricSpec;
uniform float4 unity_ColorSpaceLuminance;
//uniform float4 unity_Lightmap_HDR;
uniform float4 unity_DynamicLightmap_HDR;
uniform float4 _LightColor0;
uniform float4 _SpecColor;
uniform float4 _Color;
uniform float _Cutoff;
uniform float4 _MainTex_ST;
uniform float4 _DetailAlbedoMap_ST;
uniform float _BumpScale;
uniform float _DetailNormalMapScale;
uniform float _Metallic;
uniform float _Glossiness;
uniform float _OcclusionStrength;
uniform float _Parallax;
uniform float _UVSec;
uniform float4 _EmissionColor;
uniform sampler2D _MainTex;
uniform sampler2D _OcclusionMap;
//uniform samplerCUBE unity_SpecCube0;
struct appdata_t
{
    float4 vertex :POSITION0;
    float3 normal :NORMAL0;
    float2 texcoord :TEXCOORD0;
    float2 texcoord1 :TEXCOORD1;
};

struct OUT_Data_Vert
{
    float4 texcoord :TEXCOORD0;
    float3 texcoord1 :TEXCOORD1;
    float4 texcoord2 :TEXCOORD2;
    float4 texcoord3 :TEXCOORD3;
    float4 texcoord4 :TEXCOORD4;
    float4 texcoord5 :TEXCOORD5;
    float4 vertex :SV_POSITION;
};

struct v2f
{
    float4 texcoord :TEXCOORD0;
    float3 texcoord1 :TEXCOORD1;
    float4 texcoord4 :TEXCOORD4;
    float4 texcoord5 :TEXCOORD5;
};

struct OUT_Data_Frag
{
    float4 color :SV_Target0;
};

float4 t0;
float4 t16_0;
int tb0;
float3 t1;
float t16_2;
float3 t16_3;
float t12;
OUT_Data_Vert vert(appdata_t in_v)
{
    OUT_Data_Vert out_v;
    out_v.vertex = UnityObjectToClipPos(in_v.vertex);
    tb0 = (_UVSec==0);
    t0.xy = (int(tb0))?(in_v.texcoord.xy):(in_v.texcoord1.xy);
    out_v.texcoord.zw = TRANSFORM_TEX(t0.xy, _DetailAlbedoMap);
    out_v.texcoord.xy = TRANSFORM_TEX(in_v.texcoord.xy, _MainTex);
    t0.xyz = (in_v.vertex.yyy * conv_mxt4x4_1(unity_ObjectToWorld).xyz);
    t0.xyz = ((conv_mxt4x4_0(unity_ObjectToWorld).xyz * in_v.vertex.xxx) + t0.xyz);
    t0.xyz = ((conv_mxt4x4_2(unity_ObjectToWorld).xyz * in_v.vertex.zzz) + t0.xyz);
    t0.xyz = ((conv_mxt4x4_3(unity_ObjectToWorld).xyz * in_v.vertex.www) + t0.xyz);
    t0.xyz = (t0.xyz + (-_WorldSpaceCameraPos.xyz));
    out_v.texcoord1.xyz = t0.xyz;
    out_v.texcoord2 = float4(0, 0, 0, 0);
    out_v.texcoord3 = float4(0, 0, 0, 0);
    t0.x = (in_v.normal.x * conv_mxt4x4_0(unity_WorldToObject).x);
    t0.y = (in_v.normal.x * conv_mxt4x4_1(unity_WorldToObject).x);
    t0.z = (in_v.normal.x * conv_mxt4x4_2(unity_WorldToObject).x);
    t1.x = (in_v.normal.y * conv_mxt4x4_0(unity_WorldToObject).y);
    t1.y = (in_v.normal.y * conv_mxt4x4_1(unity_WorldToObject).y);
    t1.z = (in_v.normal.y * conv_mxt4x4_2(unity_WorldToObject).y);
    t0.xyz = (t0.xyz + t1.xyz);
    t1.x = (in_v.normal.z * conv_mxt4x4_0(unity_WorldToObject).z);
    t1.y = (in_v.normal.z * conv_mxt4x4_1(unity_WorldToObject).z);
    t1.z = (in_v.normal.z * conv_mxt4x4_2(unity_WorldToObject).z);
    t0.xyz = (t0.xyz + t1.xyz);
    t0.xyz = normalize(t0.xyz);
    out_v.texcoord4.xyz = t0.xyz;
    out_v.texcoord4.w = 0;
    t16_2 = (t0.y * t0.y);
    t16_2 = ((t0.x * t0.x) + (-t16_2));
    t16_0 = (t0.yzzx * t0.xyzz);
    t16_3.x = dot(unity_SHBr, t16_0);
    t16_3.y = dot(unity_SHBg, t16_0);
    t16_3.z = dot(unity_SHBb, t16_0);
    out_v.texcoord5.xyz = ((unity_SHC.xyz * float3(t16_2, t16_2, t16_2)) + t16_3.xyz);
    out_v.texcoord5.w = 0;
    return out_v;
}

#define CODE_BLOCK_FRAGMENT
float4 t16_0_d;
float3 t16_1;
float3 t16_2_d;
float4 t10_2;
float3 t16_3_d;
float4 t16_4;
float3 t16_5;
float3 t16_6;
float3 t16_7;
float3 t16_8;
float3 t16_9;
float t16_11;
float t16_18;
float t16_27;
float t16_28;
float t10_29;
float t16_30;
float t16_31;
OUT_Data_Frag frag(v2f in_f)
{
    OUT_Data_Frag out_f;
    t16_0_d.x = dot(in_f.texcoord1.xyz, in_f.texcoord1.xyz);
    t16_0_d.x = rsqrt(t16_0_d.x);
    t16_9.xyz = (((-in_f.texcoord1.xyz) * t16_0_d.xxx) + _WorldSpaceLightPos0.xyz);
    t16_1.xyz = (t16_0_d.xxx * in_f.texcoord1.xyz);
    t16_0_d.x = dot(t16_9.xyz, t16_9.xyz);
    t16_2_d.x = max(t16_0_d.x, 0.00100000005);
    t16_0_d.x = rsqrt(t16_2_d.x);
    t16_0_d.xyz = (t16_0_d.xxx * t16_9.xyz);
    t16_27 = dot(_WorldSpaceLightPos0.xyz, t16_0_d.xyz);
    t16_2_d.x = max(t16_27, 0);
    t16_27 = (t16_2_d.x * t16_2_d.x);
    t16_28 = ((-_Glossiness) + 1);
    t16_3_d.x = (t16_28 * t16_28);
    t16_27 = ((t16_27 * _Glossiness) + t16_3_d.x);
    t16_27 = (t16_27 * 8);
    t16_2_d.x = ((t16_27 * t16_2_d.x) + 9.99999975E-05);
    t16_4.xyz = normalize(in_f.texcoord4.xyz);
    t16_0_d.x = dot(t16_4.xyz, t16_0_d.xyz);
    t16_11 = max(t16_0_d.x, 0);
    t16_0_d.x = log2(t16_11);
    t16_11 = max(t16_3_d.x, 9.99999975E-05);
    t16_9.x = (t16_28 * t16_3_d.x);
    t16_9.x = (((-t16_9.x) * 0.280000001) + 1);
    t16_18 = (t16_11 * t16_11);
    t16_18 = (2 / t16_18);
    t16_18 = (t16_18 + (-2));
    t16_11 = max(t16_18, 9.99999975E-05);
    t16_0_d.x = (t16_0_d.x * t16_11);
    t16_18 = (t16_11 + 1);
    t16_0_d.x = exp2(t16_0_d.x);
    t16_0_d.x = (t16_0_d.x * t16_18);
    t16_2_d.x = (t16_0_d.x / t16_2_d.x);
    t16_2_d.x = max(t16_2_d.x, 9.99999975E-05);
    t16_2_d.x = sqrt(t16_2_d.x);
    t16_0_d.x = min(t16_2_d.x, 100);
    t10_2.xyz = tex2D(_MainTex, in_f.texcoord.xy).xyz;
    t16_5.xyz = (t10_2.xyz * _Color.xyz);
    t16_3_d.xyz = ((_Color.xyz * t10_2.xyz) + (-unity_ColorSpaceDielectricSpec.xyz));
    t16_3_d.xyz = ((float3(float3(_Metallic, _Metallic, _Metallic)) * t16_3_d.xyz) + unity_ColorSpaceDielectricSpec.xyz);
    t16_18 = (((-_Metallic) * unity_ColorSpaceDielectricSpec.w) + unity_ColorSpaceDielectricSpec.w);
    t16_6.xyz = (float3(t16_18, t16_18, t16_18) * t16_5.xyz);
    t16_18 = ((-t16_18) + _Glossiness);
    t16_18 = (t16_18 + 1);
    t16_18 = clamp(t16_18, 0, 1);
    t16_7.xyz = ((-t16_3_d.xyz) + float3(t16_18, t16_18, t16_18));
    t16_0_d.xzw = ((t16_0_d.xxx * t16_3_d.xyz) + t16_6.xyz);
    t16_0_d.xzw = (t16_0_d.xzw * _LightColor0.xyz);
    t16_4.w = 1;
    t16_8.x = dot(unity_SHAr, t16_4);
    t16_8.y = dot(unity_SHAg, t16_4);
    t16_8.z = dot(unity_SHAb, t16_4);
    t16_8.xyz = (t16_8.xyz + in_f.texcoord5.xyz);
    t16_8.xyz = max(t16_8.xyz, float3(0, 0, 0));
    t16_2_d.xyz = log2(t16_8.xyz);
    t16_2_d.xyz = (t16_2_d.xyz * float3(0.416666657, 0.416666657, 0.416666657));
    t16_2_d.xyz = exp2(t16_2_d.xyz);
    t16_2_d.xyz = ((t16_2_d.xyz * float3(1.05499995, 1.05499995, 1.05499995)) + float3(-0.0549999997, (-0.0549999997), (-0.0549999997)));
    t16_2_d.xyz = max(t16_2_d.xyz, float3(0, 0, 0));
    t10_29 = tex2D(_OcclusionMap, in_f.texcoord.xy).y;
    t16_30 = ((-_OcclusionStrength) + 1);
    t16_30 = ((t10_29 * _OcclusionStrength) + t16_30);
    t16_8.xyz = (t16_2_d.xyz * float3(t16_30, t16_30, t16_30));
    t16_6.xyz = (t16_6.xyz * t16_8.xyz);
    t16_31 = dot(t16_4.xyz, _WorldSpaceLightPos0.xyz);
    t16_2_d.x = max(t16_31, 0);
    t16_0_d.xzw = ((t16_0_d.xzw * t16_2_d.xxx) + t16_6.xyz);
    t16_31 = (((-t16_28) * 0.699999988) + 1.70000005);
    t16_28 = (t16_28 * t16_31);
    t16_28 = (t16_28 * 6);
    t16_31 = dot(t16_1.xyz, t16_4.xyz);
    t16_31 = (t16_31 + t16_31);
    t16_6.xyz = ((t16_4.xyz * (-float3(t16_31, t16_31, t16_31))) + t16_1.xyz);
    t16_1.x = dot(t16_4.xyz, (-t16_1.xyz));
    t16_2_d.x = max(t16_1.x, 0);
    t16_1.x = ((-t16_2_d.x) + 1);
    t16_1.x = (t16_1.x * t16_1.x);
    t16_1.x = (t16_1.x * t16_1.x);
    t16_1.xyz = ((t16_1.xxx * t16_7.xyz) + t16_3_d.xyz);
    t10_2 = UNITY_SAMPLE_TEXCUBE(unity_SpecCube0, float4(t16_6.xyz, t16_28));
    t16_28 = (t10_2.w * unity_SpecCube0_HDR.x);
    t16_3_d.xyz = (t10_2.xyz * float3(t16_28, t16_28, t16_28));
    t16_3_d.xyz = (float3(t16_30, t16_30, t16_30) * t16_3_d.xyz);
    t16_3_d.xyz = (t16_9.xxx * t16_3_d.xyz);
    out_f.color.xyz = ((t16_3_d.xyz * t16_1.xyz) + t16_0_d.xzw);
    out_f.color.w = 1;
    return out_f;
}


ENDCG

}
 Pass {
  Name "FORWARD_DELTA"
  Tags { "LIGHTMODE"="ForwardAdd" "SHADOWSUPPORT"="true" "RenderType"="Opaque" "PerformanceChecks"="False" }
  ZWrite Off
  Blend [_SrcBlend] One
  GpuProgramID 129312
CGPROGRAM
//#pragma target 4.0

#pragma vertex vert
#pragma fragment frag

#include "UnityCG.cginc"
#define conv_mxt4x4_0(mat4x4) float4(mat4x4[0].x,mat4x4[1].x,mat4x4[2].x,mat4x4[3].x)
#define conv_mxt4x4_1(mat4x4) float4(mat4x4[0].y,mat4x4[1].y,mat4x4[2].y,mat4x4[3].y)
#define conv_mxt4x4_2(mat4x4) float4(mat4x4[0].z,mat4x4[1].z,mat4x4[2].z,mat4x4[3].z)
#define conv_mxt4x4_3(mat4x4) float4(mat4x4[0].w,mat4x4[1].w,mat4x4[2].w,mat4x4[3].w)


#define CODE_BLOCK_VERTEX
//uniform float4 _Time;
//uniform float4 _SinTime;
//uniform float4 _CosTime;
//uniform float4 unity_DeltaTime;
//uniform float3 _WorldSpaceCameraPos;
//uniform float4 _ProjectionParams;
//uniform float4 _ScreenParams;
//uniform float4 _ZBufferParams;
//uniform float4 unity_OrthoParams;
//uniform float4 unity_CameraWorldClipPlanes[6];
//uniform mat4x4 unity_CameraProjection;
//uniform mat4x4 unity_CameraInvProjection;
//uniform float4 _WorldSpaceLightPos0;
//uniform float4 _LightPositionRange;
//uniform float4 unity_4LightPosX0;
//uniform float4 unity_4LightPosY0;
//uniform float4 unity_4LightPosZ0;
//uniform float4 unity_4LightAtten0;
//uniform float4 unity_LightColor[8];
//uniform float4 unity_LightPosition[8];
//uniform float4 unity_LightAtten[8];
//uniform float4 unity_SpotDirection[8];
//uniform float4 unity_SHAr;
//uniform float4 unity_SHAg;
//uniform float4 unity_SHAb;
//uniform float4 unity_SHBr;
//uniform float4 unity_SHBg;
//uniform float4 unity_SHBb;
//uniform float4 unity_SHC;
uniform float3 unity_LightColor0;
uniform float3 unity_LightColor1;
uniform float3 unity_LightColor2;
uniform float3 unity_LightColor3;
uniform float4x4 unity_ShadowSplitSpheres;
uniform float4 unity_ShadowSplitSqRadii;
//uniform float4 unity_LightShadowBias;
//uniform float4 _LightSplitsNear;
//uniform float4 _LightSplitsFar;
uniform mat4x4x4 unity_WorldToShadow;
//uniform float4 _LightShadowData;
// uniform float4 unity_ShadowFadeCenterAndType;
//uniform mat4x4 UNITY_MATRIX_MVP;
//uniform mat4x4 UNITY_MATRIX_MV;
//uniform mat4x4 UNITY_MATRIX_IT_MV;
//uniform mat4x4 unity_ObjectToWorld;
uniform mat4x4 unity_WorldToObject;
//uniform float4 unity_LODFade;
//uniform float4 unity_WorldTransformParams;
//uniform mat4x4 glstate_matrix_transpose_modelview0;
//uniform mat4x4 UNITY_MATRIX_P;
//uniform float4 glstate_lightmodel_ambient;
//uniform mat4x4 unity_MatrixV;
//uniform mat4x4 unity_MatrixVP;
//uniform float4 unity_AmbientSky;
//uniform float4 unity_AmbientEquator;
//uniform float4 unity_AmbientGround;
//uniform float4 unity_FogColor;
//uniform float4 unity_FogParams;
// uniform float4 unity_LightmapST;
// uniform float4 unity_DynamicLightmapST;
//uniform float4 unity_SpecCube0_BoxMax;
//uniform float4 unity_SpecCube0_BoxMin;
//uniform float4 unity_SpecCube0_ProbePosition;
//uniform float4 unity_SpecCube0_HDR;
//uniform float4 unity_SpecCube1_BoxMax;
//uniform float4 unity_SpecCube1_BoxMin;
//uniform float4 unity_SpecCube1_ProbePosition;
//uniform float4 unity_SpecCube1_HDR;
uniform float4 unity_ColorSpaceGrey;
//uniform float4 unity_ColorSpaceDouble;
uniform float4 unity_ColorSpaceDielectricSpec;
uniform float4 unity_ColorSpaceLuminance;
//uniform float4 unity_Lightmap_HDR;
uniform float4 unity_DynamicLightmap_HDR;
uniform float4 _LightColor0;
uniform float4 _SpecColor;
uniform float4 _Color;
uniform float _Cutoff;
uniform float4 _MainTex_ST;
uniform float4 _DetailAlbedoMap_ST;
uniform float _BumpScale;
uniform float _DetailNormalMapScale;
uniform float _Metallic;
uniform float _Glossiness;
uniform float _OcclusionStrength;
uniform float _Parallax;
uniform float _UVSec;
uniform float4 _EmissionColor;
uniform mat4x4 unity_WorldToLight;
uniform sampler2D _MainTex;
uniform sampler2D _LightTexture0;
struct appdata_t
{
    float4 vertex :POSITION0;
    float3 normal :NORMAL0;
    float2 texcoord :TEXCOORD0;
    float2 texcoord1 :TEXCOORD1;
    float4 tangent :TANGENT0;
};

struct OUT_Data_Vert
{
    float4 texcoord :TEXCOORD0;
    float3 texcoord1 :TEXCOORD1;
    float4 texcoord2 :TEXCOORD2;
    float4 texcoord3 :TEXCOORD3;
    float4 texcoord4 :TEXCOORD4;
    float3 texcoord5 :TEXCOORD5;
    float4 vertex :SV_POSITION;
};

struct v2f
{
    float4 texcoord :TEXCOORD0;
    float3 texcoord1 :TEXCOORD1;
    float4 texcoord2 :TEXCOORD2;
    float4 texcoord3 :TEXCOORD3;
    float4 texcoord4 :TEXCOORD4;
    float3 texcoord5 :TEXCOORD5;
};

struct OUT_Data_Frag
{
    float4 color :SV_Target0;
};

float4 t0;
float4 t16_0;
int tb0;
float4 t1;
float4 t2;
float3 t3;
float3 t16_4;
OUT_Data_Vert vert(appdata_t in_v)
{
    OUT_Data_Vert out_v;
    out_v.vertex = UnityObjectToClipPos(in_v.vertex);
    tb0 = (_UVSec==0);
    t0.xy = (int(tb0))?(in_v.texcoord.xy):(in_v.texcoord1.xy);
    out_v.texcoord.zw = TRANSFORM_TEX(t0.xy, _DetailAlbedoMap);
    out_v.texcoord.xy = TRANSFORM_TEX(in_v.texcoord.xy, _MainTex);
    t0.xyz = (in_v.vertex.yyy * conv_mxt4x4_1(unity_ObjectToWorld).xyz);
    t0.xyz = ((conv_mxt4x4_0(unity_ObjectToWorld).xyz * in_v.vertex.xxx) + t0.xyz);
    t0.xyz = ((conv_mxt4x4_2(unity_ObjectToWorld).xyz * in_v.vertex.zzz) + t0.xyz);
    t0.xyz = ((conv_mxt4x4_3(unity_ObjectToWorld).xyz * in_v.vertex.www) + t0.xyz);
    t1.xyz = (t0.xyz + (-_WorldSpaceCameraPos.xyz));
    t0.xyz = (((-t0.xyz) * _WorldSpaceLightPos0.www) + _WorldSpaceLightPos0.xyz);
    out_v.texcoord1.xyz = t1.xyz;
    t1.w = t0.x;
    t2.xyz = (in_v.tangent.yyy * conv_mxt4x4_1(unity_ObjectToWorld).xyz);
    t2.xyz = ((conv_mxt4x4_0(unity_ObjectToWorld).xyz * in_v.tangent.xxx) + t2.xyz);
    t2.xyz = ((conv_mxt4x4_2(unity_ObjectToWorld).xyz * in_v.tangent.zzz) + t2.xyz);
    t0.x = dot(t2.xyz, t2.xyz);
    t0.x = rsqrt(t0.x);
    t1.xyz = (t0.xxx * t2.xyz);
    out_v.texcoord2 = t1;
    t2.x = (in_v.normal.x * conv_mxt4x4_0(unity_WorldToObject).x);
    t2.y = (in_v.normal.x * conv_mxt4x4_1(unity_WorldToObject).x);
    t2.z = (in_v.normal.x * conv_mxt4x4_2(unity_WorldToObject).x);
    t3.x = (in_v.normal.y * conv_mxt4x4_0(unity_WorldToObject).y);
    t3.y = (in_v.normal.y * conv_mxt4x4_1(unity_WorldToObject).y);
    t3.z = (in_v.normal.y * conv_mxt4x4_2(unity_WorldToObject).y);
    t2.xyz = (t2.xyz + t3.xyz);
    t3.x = (in_v.normal.z * conv_mxt4x4_0(unity_WorldToObject).z);
    t3.y = (in_v.normal.z * conv_mxt4x4_1(unity_WorldToObject).z);
    t3.z = (in_v.normal.z * conv_mxt4x4_2(unity_WorldToObject).z);
    t2.xyz = (t2.xyz + t3.xyz);
    t0.x = dot(t2.xyz, t2.xyz);
    t0.x = rsqrt(t0.x);
    t2.xyz = (t0.xxx * t2.xyz);
    t16_4.xyz = (t1.yzx * t2.zxy);
    t16_4.xyz = ((t2.yzx * t1.zxy) + (-t16_4.xyz));
    t0.x = (in_v.tangent.w * unity_WorldTransformParams.w);
    out_v.texcoord3.xyz = (t0.xxx * t16_4.xyz);
    out_v.texcoord3.w = t0.y;
    t2.w = t0.z;
    out_v.texcoord4 = t2;
    t16_0.x = conv_mxt4x4_0(unity_WorldToLight).x;
    t16_0.y = conv_mxt4x4_1(unity_WorldToLight).x;
    t16_0.z = conv_mxt4x4_2(unity_WorldToLight).x;
    t16_0.w = conv_mxt4x4_3(unity_WorldToLight).x;
    t1 = mul(unity_ObjectToWorld, in_v.vertex);
    out_v.texcoord5.x = dot(t16_0, t1);
    t16_0.x = conv_mxt4x4_0(unity_WorldToLight).y;
    t16_0.y = conv_mxt4x4_1(unity_WorldToLight).y;
    t16_0.z = conv_mxt4x4_2(unity_WorldToLight).y;
    t16_0.w = conv_mxt4x4_3(unity_WorldToLight).y;
    out_v.texcoord5.y = dot(t16_0, t1);
    t16_0.x = conv_mxt4x4_0(unity_WorldToLight).z;
    t16_0.y = conv_mxt4x4_1(unity_WorldToLight).z;
    t16_0.z = conv_mxt4x4_2(unity_WorldToLight).z;
    t16_0.w = conv_mxt4x4_3(unity_WorldToLight).z;
    out_v.texcoord5.z = dot(t16_0, t1);
    return out_v;
}

#define CODE_BLOCK_FRAGMENT
float3 t16_0_d;
float3 t16_1;
float t2_d;
float4 t16_2;
float4 t10_2;
float3 t16_3;
float3 t16_4_d;
float t16_6;
float2 t16_10;
float t16_12;
float t16_13;
OUT_Data_Frag frag(v2f in_f)
{
    OUT_Data_Frag out_f;
    t16_0_d.x = dot(in_f.texcoord1.xyz, in_f.texcoord1.xyz);
    t16_0_d.x = rsqrt(t16_0_d.x);
    t16_1.x = in_f.texcoord2.w;
    t16_1.y = in_f.texcoord3.w;
    t16_1.z = in_f.texcoord4.w;
    t16_4_d.x = dot(t16_1.xyz, t16_1.xyz);
    t16_4_d.x = rsqrt(t16_4_d.x);
    t16_4_d.xyz = (t16_4_d.xxx * t16_1.xyz);
    t16_1.xyz = (((-in_f.texcoord1.xyz) * t16_0_d.xxx) + t16_4_d.xyz);
    t16_0_d.x = dot(t16_1.xyz, t16_1.xyz);
    t16_2.x = max(t16_0_d.x, 0.00100000005);
    t16_0_d.x = rsqrt(t16_2.x);
    t16_1.xyz = (t16_0_d.xxx * t16_1.xyz);
    t16_0_d.x = dot(t16_4_d.xyz, t16_1.xyz);
    t16_2.x = max(t16_0_d.x, 0);
    t16_0_d.x = (t16_2.x * t16_2.x);
    t16_13 = ((-_Glossiness) + 1);
    t16_13 = (t16_13 * t16_13);
    t16_0_d.x = ((t16_0_d.x * _Glossiness) + t16_13);
    t16_6 = max(t16_13, 9.99999975E-05);
    t16_13 = (t16_6 * t16_6);
    t16_13 = (2 / t16_13);
    t16_13 = (t16_13 + (-2));
    t16_6 = max(t16_13, 9.99999975E-05);
    t16_0_d.x = (t16_0_d.x * 8);
    t16_2.x = ((t16_0_d.x * t16_2.x) + 9.99999975E-05);
    t16_0_d.x = dot(in_f.texcoord4.xyz, in_f.texcoord4.xyz);
    t16_0_d.x = rsqrt(t16_0_d.x);
    t16_3.xyz = (t16_0_d.xxx * in_f.texcoord4.xyz);
    t16_0_d.x = dot(t16_3.xyz, t16_1.xyz);
    t16_0_d.y = dot(t16_3.xyz, t16_4_d.xyz);
    t16_10.xy = max(t16_0_d.yx, float2(0, 0));
    t16_0_d.x = log2(t16_10.y);
    t16_0_d.x = (t16_0_d.x * t16_6);
    t16_4_d.x = (t16_6 + 1);
    t16_0_d.x = exp2(t16_0_d.x);
    t16_0_d.x = (t16_0_d.x * t16_4_d.x);
    t16_2.x = (t16_0_d.x / t16_2.x);
    t16_2.x = max(t16_2.x, 9.99999975E-05);
    t16_2.x = sqrt(t16_2.x);
    t16_0_d.x = min(t16_2.x, 100);
    t10_2.xyw = tex2D(_MainTex, in_f.texcoord.xy).xyz;
    t16_4_d.xyz = ((_Color.xyz * t10_2.xyw) + (-unity_ColorSpaceDielectricSpec.xyz));
    t16_2.xyw = (t10_2.xyw * _Color.xyz);
    t16_4_d.xyz = ((float3(float3(_Metallic, _Metallic, _Metallic)) * t16_4_d.xyz) + unity_ColorSpaceDielectricSpec.xyz);
    t16_0_d.xyz = (t16_4_d.xyz * t16_0_d.xxx);
    t16_12 = (((-_Metallic) * unity_ColorSpaceDielectricSpec.w) + unity_ColorSpaceDielectricSpec.w);
    t16_0_d.xyz = ((t16_2.xyw * float3(t16_12, t16_12, t16_12)) + t16_0_d.xyz);
    t2_d = dot(in_f.texcoord5.xyz, in_f.texcoord5.xyz);
    t10_2.x = tex2D(_LightTexture0, float2(t2_d, t2_d)).w;
    t16_1.xyz = (t10_2.xxx * _LightColor0.xyz);
    t16_0_d.xyz = (t16_0_d.xyz * t16_1.xyz);
    out_f.color.xyz = (t16_10.xxx * t16_0_d.xyz);
    out_f.color.w = 1;
    return out_f;
}


ENDCG

}
 Pass {
  Name "SHADOWCASTER"
  Tags { "LIGHTMODE"="SHADOWCASTER" "SHADOWSUPPORT"="true" "RenderType"="Opaque" "PerformanceChecks"="False" }
  GpuProgramID 147192
CGPROGRAM
//#pragma target 4.0

#pragma vertex vert
#pragma fragment frag

#include "UnityCG.cginc"
#define conv_mxt4x4_0(mat4x4) float4(mat4x4[0].x,mat4x4[1].x,mat4x4[2].x,mat4x4[3].x)
#define conv_mxt4x4_1(mat4x4) float4(mat4x4[0].y,mat4x4[1].y,mat4x4[2].y,mat4x4[3].y)
#define conv_mxt4x4_2(mat4x4) float4(mat4x4[0].z,mat4x4[1].z,mat4x4[2].z,mat4x4[3].z)


#define CODE_BLOCK_VERTEX
//uniform float4 _Time;
//uniform float4 _SinTime;
//uniform float4 _CosTime;
//uniform float4 unity_DeltaTime;
//uniform float3 _WorldSpaceCameraPos;
//uniform float4 _ProjectionParams;
//uniform float4 _ScreenParams;
//uniform float4 _ZBufferParams;
//uniform float4 unity_OrthoParams;
//uniform float4 unity_CameraWorldClipPlanes[6];
//uniform mat4x4 unity_CameraProjection;
//uniform mat4x4 unity_CameraInvProjection;
//uniform float4 _WorldSpaceLightPos0;
//uniform float4 _LightPositionRange;
//uniform float4 unity_4LightPosX0;
//uniform float4 unity_4LightPosY0;
//uniform float4 unity_4LightPosZ0;
//uniform float4 unity_4LightAtten0;
//uniform float4 unity_LightColor[8];
//uniform float4 unity_LightPosition[8];
//uniform float4 unity_LightAtten[8];
//uniform float4 unity_SpotDirection[8];
//uniform float4 unity_SHAr;
//uniform float4 unity_SHAg;
//uniform float4 unity_SHAb;
//uniform float4 unity_SHBr;
//uniform float4 unity_SHBg;
//uniform float4 unity_SHBb;
//uniform float4 unity_SHC;
uniform float3 unity_LightColor0;
uniform float3 unity_LightColor1;
uniform float3 unity_LightColor2;
uniform float3 unity_LightColor3;
uniform float4x4 unity_ShadowSplitSpheres;
uniform float4 unity_ShadowSplitSqRadii;
//uniform float4 unity_LightShadowBias;
//uniform float4 _LightSplitsNear;
//uniform float4 _LightSplitsFar;
uniform mat4x4x4 unity_WorldToShadow;
//uniform float4 _LightShadowData;
// uniform float4 unity_ShadowFadeCenterAndType;
//uniform mat4x4 UNITY_MATRIX_MVP;
//uniform mat4x4 UNITY_MATRIX_MV;
//uniform mat4x4 UNITY_MATRIX_IT_MV;
//uniform mat4x4 unity_ObjectToWorld;
uniform mat4x4 unity_WorldToObject;
//uniform float4 unity_LODFade;
//uniform float4 unity_WorldTransformParams;
//uniform mat4x4 glstate_matrix_transpose_modelview0;
//uniform mat4x4 UNITY_MATRIX_P;
//uniform float4 glstate_lightmodel_ambient;
//uniform mat4x4 unity_MatrixV;
//uniform mat4x4 unity_MatrixVP;
//uniform float4 unity_AmbientSky;
//uniform float4 unity_AmbientEquator;
//uniform float4 unity_AmbientGround;
//uniform float4 unity_FogColor;
//uniform float4 unity_FogParams;
// uniform float4 unity_LightmapST;
// uniform float4 unity_DynamicLightmapST;
//uniform float4 unity_SpecCube0_BoxMax;
//uniform float4 unity_SpecCube0_BoxMin;
//uniform float4 unity_SpecCube0_ProbePosition;
//uniform float4 unity_SpecCube0_HDR;
//uniform float4 unity_SpecCube1_BoxMax;
//uniform float4 unity_SpecCube1_BoxMin;
//uniform float4 unity_SpecCube1_ProbePosition;
//uniform float4 unity_SpecCube1_HDR;
uniform float4 unity_ColorSpaceGrey;
//uniform float4 unity_ColorSpaceDouble;
uniform float4 unity_ColorSpaceDielectricSpec;
uniform float4 unity_ColorSpaceLuminance;
//uniform float4 unity_Lightmap_HDR;
uniform float4 unity_DynamicLightmap_HDR;
uniform float4 _Color;
uniform float _Cutoff;
uniform float4 _MainTex_ST;
struct appdata_t
{
    float4 vertex :POSITION0;
    float3 normal :NORMAL0;
};

struct OUT_Data_Vert
{
    float4 vertex :SV_POSITION;
};

struct v2f
{
    float4 vertex :Position;
};

struct OUT_Data_Frag
{
    float4 color :SV_Target0;
};

float4 t0;
float4 t1;
float3 t2;
int tb2;
float t6;
float t9;
OUT_Data_Vert vert(appdata_t in_v)
{
    OUT_Data_Vert out_v;
    t0.x = (in_v.normal.x * conv_mxt4x4_0(unity_WorldToObject).x);
    t0.y = (in_v.normal.x * conv_mxt4x4_1(unity_WorldToObject).x);
    t0.z = (in_v.normal.x * conv_mxt4x4_2(unity_WorldToObject).x);
    t1.x = (in_v.normal.y * conv_mxt4x4_0(unity_WorldToObject).y);
    t1.y = (in_v.normal.y * conv_mxt4x4_1(unity_WorldToObject).y);
    t1.z = (in_v.normal.y * conv_mxt4x4_2(unity_WorldToObject).y);
    t0.xyz = (t0.xyz + t1.xyz);
    t1.x = (in_v.normal.z * conv_mxt4x4_0(unity_WorldToObject).z);
    t1.y = (in_v.normal.z * conv_mxt4x4_1(unity_WorldToObject).z);
    t1.z = (in_v.normal.z * conv_mxt4x4_2(unity_WorldToObject).z);
    t0.xyz = (t0.xyz + t1.xyz);
    t0.xyz = normalize(t0.xyz);
    t1.xyz = mul(unity_ObjectToWorld, in_v.vertex.xyz);
    t2.xyz = (((-t1.xyz) * _WorldSpaceLightPos0.www) + _WorldSpaceLightPos0.xyz);
    t2.xyz = normalize(t2.xyz);
    t9 = dot(t0.xyz, t2.xyz);
    t9 = (((-t9) * t9) + 1);
    t9 = sqrt(t9);
    t9 = (t9 * unity_LightShadowBias.z);
    t0.xyz = (((-t0.xyz) * float3(t9, t9, t9)) + t1.xyz);
    t0 = mul(unity_MatrixVP, float4(t0.xyz,1.0));
    t1 = UnityObjectToClipPos(float4(in_v.vertex.xyz,1.0));
    tb2 = (unity_LightShadowBias.z!=0);
    t0 = (int(tb2))?(t0):(t1);
    t1.x = (unity_LightShadowBias.x / t0.w);
    t1.x = clamp(t1.x, 0, 1);
    t6 = (t0.z + t1.x);
    t1.x = max((-t0.w), t6);
    out_v.vertex.xyw = t0.xyw;
    t0.x = ((-t6) + t1.x);
    out_v.vertex.z = ((unity_LightShadowBias.y * t0.x) + t6);
    return out_v;
}

#define CODE_BLOCK_FRAGMENT
OUT_Data_Frag frag(v2f in_f)
{
    OUT_Data_Frag out_f;
    out_f.color = float4(0, 0, 0, 0);
    return out_f;
}


ENDCG

}
 Pass {
  Name "DEFERRED"
  Tags { "LIGHTMODE"="Deferred" "RenderType"="Opaque" "PerformanceChecks"="False" }
  GpuProgramID 219902
CGPROGRAM
//#pragma target 4.0

#pragma vertex vert
#pragma fragment frag

#include "UnityCG.cginc"
#define conv_mxt4x4_0(mat4x4) float4(mat4x4[0].x,mat4x4[1].x,mat4x4[2].x,mat4x4[3].x)
#define conv_mxt4x4_1(mat4x4) float4(mat4x4[0].y,mat4x4[1].y,mat4x4[2].y,mat4x4[3].y)
#define conv_mxt4x4_2(mat4x4) float4(mat4x4[0].z,mat4x4[1].z,mat4x4[2].z,mat4x4[3].z)
#define conv_mxt4x4_3(mat4x4) float4(mat4x4[0].w,mat4x4[1].w,mat4x4[2].w,mat4x4[3].w)


#define CODE_BLOCK_VERTEX
//uniform float4 _Time;
//uniform float4 _SinTime;
//uniform float4 _CosTime;
//uniform float4 unity_DeltaTime;
//uniform float3 _WorldSpaceCameraPos;
//uniform float4 _ProjectionParams;
//uniform float4 _ScreenParams;
//uniform float4 _ZBufferParams;
//uniform float4 unity_OrthoParams;
//uniform float4 unity_CameraWorldClipPlanes[6];
//uniform mat4x4 unity_CameraProjection;
//uniform mat4x4 unity_CameraInvProjection;
//uniform float4 _WorldSpaceLightPos0;
//uniform float4 _LightPositionRange;
//uniform float4 unity_4LightPosX0;
//uniform float4 unity_4LightPosY0;
//uniform float4 unity_4LightPosZ0;
//uniform float4 unity_4LightAtten0;
//uniform float4 unity_LightColor[8];
//uniform float4 unity_LightPosition[8];
//uniform float4 unity_LightAtten[8];
//uniform float4 unity_SpotDirection[8];
//uniform float4 unity_SHAr;
//uniform float4 unity_SHAg;
//uniform float4 unity_SHAb;
//uniform float4 unity_SHBr;
//uniform float4 unity_SHBg;
//uniform float4 unity_SHBb;
//uniform float4 unity_SHC;
uniform float3 unity_LightColor0;
uniform float3 unity_LightColor1;
uniform float3 unity_LightColor2;
uniform float3 unity_LightColor3;
uniform float4x4 unity_ShadowSplitSpheres;
uniform float4 unity_ShadowSplitSqRadii;
//uniform float4 unity_LightShadowBias;
//uniform float4 _LightSplitsNear;
//uniform float4 _LightSplitsFar;
uniform mat4x4x4 unity_WorldToShadow;
//uniform float4 _LightShadowData;
// uniform float4 unity_ShadowFadeCenterAndType;
//uniform mat4x4 UNITY_MATRIX_MVP;
//uniform mat4x4 UNITY_MATRIX_MV;
//uniform mat4x4 UNITY_MATRIX_IT_MV;
//uniform mat4x4 unity_ObjectToWorld;
uniform mat4x4 unity_WorldToObject;
//uniform float4 unity_LODFade;
//uniform float4 unity_WorldTransformParams;
//uniform mat4x4 glstate_matrix_transpose_modelview0;
//uniform mat4x4 UNITY_MATRIX_P;
//uniform float4 glstate_lightmodel_ambient;
//uniform mat4x4 unity_MatrixV;
//uniform mat4x4 unity_MatrixVP;
//uniform float4 unity_AmbientSky;
//uniform float4 unity_AmbientEquator;
//uniform float4 unity_AmbientGround;
//uniform float4 unity_FogColor;
//uniform float4 unity_FogParams;
// uniform float4 unity_LightmapST;
// uniform float4 unity_DynamicLightmapST;
//uniform float4 unity_SpecCube0_BoxMax;
//uniform float4 unity_SpecCube0_BoxMin;
//uniform float4 unity_SpecCube0_ProbePosition;
//uniform float4 unity_SpecCube0_HDR;
//uniform float4 unity_SpecCube1_BoxMax;
//uniform float4 unity_SpecCube1_BoxMin;
//uniform float4 unity_SpecCube1_ProbePosition;
//uniform float4 unity_SpecCube1_HDR;
uniform float4 unity_ColorSpaceGrey;
//uniform float4 unity_ColorSpaceDouble;
uniform float4 unity_ColorSpaceDielectricSpec;
uniform float4 unity_ColorSpaceLuminance;
//uniform float4 unity_Lightmap_HDR;
uniform float4 unity_DynamicLightmap_HDR;
uniform float4 _LightColor0;
uniform float4 _SpecColor;
uniform float4 _Color;
uniform float _Cutoff;
uniform float4 _MainTex_ST;
uniform float4 _DetailAlbedoMap_ST;
uniform float _BumpScale;
uniform float _DetailNormalMapScale;
uniform float _Metallic;
uniform float _Glossiness;
uniform float _OcclusionStrength;
uniform float _Parallax;
uniform float _UVSec;
uniform float4 _EmissionColor;
uniform sampler2D _MainTex;
uniform sampler2D _OcclusionMap;
struct appdata_t
{
    float4 vertex :POSITION0;
    float3 normal :NORMAL0;
    float2 texcoord :TEXCOORD0;
    float2 texcoord1 :TEXCOORD1;
};

struct OUT_Data_Vert
{
    float4 texcoord :TEXCOORD0;
    float3 texcoord1 :TEXCOORD1;
    float4 texcoord2 :TEXCOORD2;
    float4 texcoord3 :TEXCOORD3;
    float4 texcoord4 :TEXCOORD4;
    float4 texcoord5 :TEXCOORD5;
    float4 vertex :SV_POSITION;
};

struct v2f
{
    float4 texcoord :TEXCOORD0;
    float4 texcoord4 :TEXCOORD4;
    float4 texcoord5 :TEXCOORD5;
};

struct OUT_Data_Frag
{
    float4 color :SV_Target0;
    float4 color1 :SV_Target1;
    float4 color2 :SV_Target2;
    float4 color3 :SV_Target3;
};

float4 t0;
float4 t16_0;
int tb0;
float3 t1;
float t16_2;
float3 t16_3;
float t12;
OUT_Data_Vert vert(appdata_t in_v)
{
    OUT_Data_Vert out_v;
    out_v.vertex = UnityObjectToClipPos(in_v.vertex);
    tb0 = (_UVSec==0);
    t0.xy = (int(tb0))?(in_v.texcoord.xy):(in_v.texcoord1.xy);
    out_v.texcoord.zw = TRANSFORM_TEX(t0.xy, _DetailAlbedoMap);
    out_v.texcoord.xy = TRANSFORM_TEX(in_v.texcoord.xy, _MainTex);
    t0.xyz = (in_v.vertex.yyy * conv_mxt4x4_1(unity_ObjectToWorld).xyz);
    t0.xyz = ((conv_mxt4x4_0(unity_ObjectToWorld).xyz * in_v.vertex.xxx) + t0.xyz);
    t0.xyz = ((conv_mxt4x4_2(unity_ObjectToWorld).xyz * in_v.vertex.zzz) + t0.xyz);
    t0.xyz = ((conv_mxt4x4_3(unity_ObjectToWorld).xyz * in_v.vertex.www) + t0.xyz);
    t0.xyz = (t0.xyz + (-_WorldSpaceCameraPos.xyz));
    out_v.texcoord1.xyz = t0.xyz;
    out_v.texcoord2 = float4(0, 0, 0, 0);
    out_v.texcoord3 = float4(0, 0, 0, 0);
    t0.x = (in_v.normal.x * conv_mxt4x4_0(unity_WorldToObject).x);
    t0.y = (in_v.normal.x * conv_mxt4x4_1(unity_WorldToObject).x);
    t0.z = (in_v.normal.x * conv_mxt4x4_2(unity_WorldToObject).x);
    t1.x = (in_v.normal.y * conv_mxt4x4_0(unity_WorldToObject).y);
    t1.y = (in_v.normal.y * conv_mxt4x4_1(unity_WorldToObject).y);
    t1.z = (in_v.normal.y * conv_mxt4x4_2(unity_WorldToObject).y);
    t0.xyz = (t0.xyz + t1.xyz);
    t1.x = (in_v.normal.z * conv_mxt4x4_0(unity_WorldToObject).z);
    t1.y = (in_v.normal.z * conv_mxt4x4_1(unity_WorldToObject).z);
    t1.z = (in_v.normal.z * conv_mxt4x4_2(unity_WorldToObject).z);
    t0.xyz = (t0.xyz + t1.xyz);
    t0.xyz = normalize(t0.xyz);
    out_v.texcoord4.xyz = t0.xyz;
    out_v.texcoord4.w = 0;
    t16_2 = (t0.y * t0.y);
    t16_2 = ((t0.x * t0.x) + (-t16_2));
    t16_0 = (t0.yzzx * t0.xyzz);
    t16_3.x = dot(unity_SHBr, t16_0);
    t16_3.y = dot(unity_SHBg, t16_0);
    t16_3.z = dot(unity_SHBb, t16_0);
    out_v.texcoord5.xyz = ((unity_SHC.xyz * float3(t16_2, t16_2, t16_2)) + t16_3.xyz);
    out_v.texcoord5.w = 0;
    return out_v;
}

#define CODE_BLOCK_FRAGMENT
float4 t16_0_d;
float t10_0;
float4 t16_1;
float3 t16_2_d;
float3 t10_2;
float3 t16_3_d;
float3 t16_4;
float3 t16_6;
OUT_Data_Frag frag(v2f in_f)
{
    OUT_Data_Frag out_f;
    t10_0 = tex2D(_OcclusionMap, in_f.texcoord.xy).y;
    t16_1.x = ((-_OcclusionStrength) + 1);
    t16_0_d.w = ((t10_0 * _OcclusionStrength) + t16_1.x);
    t16_1.x = (((-_Metallic) * unity_ColorSpaceDielectricSpec.w) + unity_ColorSpaceDielectricSpec.w);
    t10_2.xyz = tex2D(_MainTex, in_f.texcoord.xy).xyz;
    t16_3_d.xyz = (t10_2.xyz * _Color.xyz);
    t16_6.xyz = ((_Color.xyz * t10_2.xyz) + (-unity_ColorSpaceDielectricSpec.xyz));
    out_f.color1.xyz = ((float3(float3(_Metallic, _Metallic, _Metallic)) * t16_6.xyz) + unity_ColorSpaceDielectricSpec.xyz);
    t16_0_d.xyz = (t16_1.xxx * t16_3_d.xyz);
    out_f.color = t16_0_d;
    out_f.color1.w = _Glossiness;
    t16_1.x = dot(in_f.texcoord4.xyz, in_f.texcoord4.xyz);
    t16_1.x = rsqrt(t16_1.x);
    t16_1.xyz = (t16_1.xxx * in_f.texcoord4.xyz);
    t16_1.w = 1;
    out_f.color2 = ((t16_1 * float4(0.5, 0.5, 0.5, 1)) + float4(0.5, 0.5, 0.5, 0));
    t16_4.x = dot(unity_SHAr, t16_1);
    t16_4.y = dot(unity_SHAg, t16_1);
    t16_4.z = dot(unity_SHAb, t16_1);
    t16_1.xyz = (t16_4.xyz + in_f.texcoord5.xyz);
    t16_1.xyz = max(t16_1.xyz, float3(0, 0, 0));
    t16_2_d.xyz = log2(t16_1.xyz);
    t16_2_d.xyz = (t16_2_d.xyz * float3(0.416666657, 0.416666657, 0.416666657));
    t16_2_d.xyz = exp2(t16_2_d.xyz);
    t16_2_d.xyz = ((t16_2_d.xyz * float3(1.05499995, 1.05499995, 1.05499995)) + float3(-0.0549999997, (-0.0549999997), (-0.0549999997)));
    t16_2_d.xyz = max(t16_2_d.xyz, float3(0, 0, 0));
    t16_1.xyz = (t16_0_d.www * t16_2_d.xyz);
    t16_1.xyz = (t16_0_d.xyz * t16_1.xyz);
    out_f.color3.xyz = exp2((-t16_1.xyz));
    out_f.color3.w = 1;
    return out_f;
}


ENDCG

}
}
SubShader { 
 LOD 150
 Tags { "RenderType"="Opaque" "PerformanceChecks"="False" }
 Pass {
  Name "FORWARD"
  Tags { "LIGHTMODE"="ForwardBase" "SHADOWSUPPORT"="true" "RenderType"="Opaque" "PerformanceChecks"="False" }
  ZWrite [_ZWrite]
  Blend [_SrcBlend] [_DstBlend]
  GpuProgramID 358221
CGPROGRAM
//#pragma target 4.0

#pragma vertex vert
#pragma fragment frag

#include "UnityCG.cginc"
#define conv_mxt4x4_0(mat4x4) float4(mat4x4[0].x,mat4x4[1].x,mat4x4[2].x,mat4x4[3].x)
#define conv_mxt4x4_1(mat4x4) float4(mat4x4[0].y,mat4x4[1].y,mat4x4[2].y,mat4x4[3].y)
#define conv_mxt4x4_2(mat4x4) float4(mat4x4[0].z,mat4x4[1].z,mat4x4[2].z,mat4x4[3].z)
#define conv_mxt4x4_3(mat4x4) float4(mat4x4[0].w,mat4x4[1].w,mat4x4[2].w,mat4x4[3].w)


#define CODE_BLOCK_VERTEX
//uniform float3 _WorldSpaceCameraPos;
//uniform float4 unity_SHAr;
//uniform float4 unity_SHAg;
//uniform float4 unity_SHAb;
//uniform float4 unity_SHBr;
//uniform float4 unity_SHBg;
//uniform float4 unity_SHBb;
//uniform float4 unity_SHC;
//uniform float4x4 UNITY_MATRIX_MVP;
//uniform float4x4 unity_ObjectToWorld;
// uniform float4x4 _World2Object;
uniform float4 unity_ColorSpaceDielectricSpec;
uniform float4 _MainTex_ST;
uniform float4 _DetailAlbedoMap_ST;
uniform float _Metallic;
uniform float _Glossiness;
uniform float _UVSec;
//uniform float4 _WorldSpaceLightPos0;
//uniform samplerCUBE unity_SpecCube0;
//uniform float4 unity_SpecCube0_HDR;
uniform float4 _LightColor0;
uniform sampler2D unity_NHxRoughness;
uniform float4 _Color;
uniform sampler2D _MainTex;
uniform sampler2D _OcclusionMap;
struct appdata_t
{
    float4 vertex :POSITION;
    float3 normal :NORMAL;
    float4 texcoord :TEXCOORD0;
    float4 texcoord1 :TEXCOORD1;
};

struct OUT_Data_Vert
{
    float4 xlv_TEXCOORD0 :TEXCOORD0;
    float4 xlv_TEXCOORD1 :TEXCOORD1;
    float4 xlv_TEXCOORD2 :TEXCOORD2;
    float4 xlv_TEXCOORD4 :TEXCOORD4;
    float4 xlv_TEXCOORD5 :TEXCOORD5;
    float4 vertex :SV_POSITION;
};

struct v2f
{
    float4 xlv_TEXCOORD0 :TEXCOORD0;
    float4 xlv_TEXCOORD1 :TEXCOORD1;
    float4 xlv_TEXCOORD2 :TEXCOORD2;
    float4 xlv_TEXCOORD4 :TEXCOORD4;
    float4 xlv_TEXCOORD5 :TEXCOORD5;
};

struct OUT_Data_Frag
{
    float4 color :SV_Target0;
};

OUT_Data_Vert vert(appdata_t in_v)
{
    OUT_Data_Vert out_v;
    float3 tmpvar_1;
    tmpvar_1 = in_v.normal;
    float2 tmpvar_2;
    tmpvar_2 = in_v.texcoord.xy;
    float2 tmpvar_3;
    tmpvar_3 = in_v.texcoord1.xy;
    float3 normalWorld_4;
    float3 eyeVec_5;
    float4 tmpvar_6;
    float4 tmpvar_7;
    float4 tmpvar_8;
    float4 tmpvar_9;
    float4 tmpvar_10;
    tmpvar_10 = mul(unity_ObjectToWorld, in_v.vertex);
    tmpvar_6 = UnityObjectToClipPos(in_v.vertex);
    float4 texcoord_11;
    texcoord_11.xy = TRANSFORM_TEX(in_v.texcoord.xy, _MainTex);
    float2 tmpvar_12;
    if((_UVSec==0))
    {
        tmpvar_12 = tmpvar_2;
    }
    else
    {
        tmpvar_12 = tmpvar_3;
    }
    texcoord_11.zw = TRANSFORM_TEX(tmpvar_12, _DetailAlbedoMap);
    float3 tmpvar_13;
    tmpvar_13 = normalize((tmpvar_10.xyz - _WorldSpaceCameraPos));
    eyeVec_5 = tmpvar_13;
    float3 norm_14;
    norm_14 = tmpvar_1;
    float4 v_15;
    v_15.x = conv_mxt4x4_0(unity_WorldToObject).x;
    v_15.y = conv_mxt4x4_1(unity_WorldToObject).x;
    v_15.z = conv_mxt4x4_2(unity_WorldToObject).x;
    v_15.w = conv_mxt4x4_3(unity_WorldToObject).x;
    float4 v_16;
    v_16.x = conv_mxt4x4_0(unity_WorldToObject).y;
    v_16.y = conv_mxt4x4_1(unity_WorldToObject).y;
    v_16.z = conv_mxt4x4_2(unity_WorldToObject).y;
    v_16.w = conv_mxt4x4_3(unity_WorldToObject).y;
    float4 v_17;
    v_17.x = conv_mxt4x4_0(unity_WorldToObject).z;
    v_17.y = conv_mxt4x4_1(unity_WorldToObject).z;
    v_17.z = conv_mxt4x4_2(unity_WorldToObject).z;
    v_17.w = conv_mxt4x4_3(unity_WorldToObject).z;
    float3 tmpvar_18;
    tmpvar_18 = normalize((((v_15.xyz * norm_14.x) + (v_16.xyz * norm_14.y)) + (v_17.xyz * norm_14.z)));
    normalWorld_4 = tmpvar_18;
    tmpvar_9.xyz = float3(normalWorld_4);
    tmpvar_7.xyz = float3(eyeVec_5);
    float4 ambientOrLightmapUV_19;
    ambientOrLightmapUV_19.w = 0;
    float4 tmpvar_20;
    tmpvar_20.w = 1;
    tmpvar_20.xyz = float3(normalWorld_4);
    float3 res_21;
    float3 x_22;
    x_22.x = dot(unity_SHAr, tmpvar_20);
    x_22.y = dot(unity_SHAg, tmpvar_20);
    x_22.z = dot(unity_SHAb, tmpvar_20);
    float3 x1_23;
    float4 tmpvar_24;
    tmpvar_24 = (normalWorld_4.xyzz * normalWorld_4.yzzx);
    x1_23.x = dot(unity_SHBr, tmpvar_24);
    x1_23.y = dot(unity_SHBg, tmpvar_24);
    x1_23.z = dot(unity_SHBb, tmpvar_24);
    res_21 = (x_22 + (x1_23 + (unity_SHC.xyz * ((normalWorld_4.x * normalWorld_4.x) - (normalWorld_4.y * normalWorld_4.y)))));
    float _tmp_dvx_113 = max(((1.055 * pow(max(res_21, float3(0, 0, 0)), float3(0.4166667, 0.4166667, 0.4166667))) - 0.055), float3(0, 0, 0));
    res_21 = float3(_tmp_dvx_113, _tmp_dvx_113, _tmp_dvx_113);
    ambientOrLightmapUV_19.xyz = float3(max(float3(0, 0, 0), res_21));
    tmpvar_8.yzw = (eyeVec_5 - (2 * (dot(normalWorld_4, eyeVec_5) * normalWorld_4)));
    float x_25;
    x_25 = (1 - clamp(dot(normalWorld_4, (-eyeVec_5)), 0, 1));
    tmpvar_9.w = ((x_25 * x_25) * (x_25 * x_25));
    tmpvar_7.w = clamp((_Glossiness + (1 - (unity_ColorSpaceDielectricSpec.w - (_Metallic * unity_ColorSpaceDielectricSpec.w)))), 0, 1);
    out_v.vertex = tmpvar_6;
    out_v.xlv_TEXCOORD0 = texcoord_11;
    out_v.xlv_TEXCOORD1 = tmpvar_7;
    out_v.xlv_TEXCOORD2 = ambientOrLightmapUV_19;
    out_v.xlv_TEXCOORD4 = tmpvar_8;
    out_v.xlv_TEXCOORD5 = tmpvar_9;
    return out_v;
}

#define CODE_BLOCK_FRAGMENT
OUT_Data_Frag frag(v2f in_f)
{
    OUT_Data_Frag out_f;
    float rl_1;
    float4 tmpvar_2;
    tmpvar_2 = tex2D(_MainTex, in_f.xlv_TEXCOORD0.xy);
    float3 tmpvar_3;
    tmpvar_3 = (_Color.xyz * tmpvar_2.xyz);
    float3 tmpvar_4;
    float3 tmpvar_5;
    tmpvar_5 = lerp(unity_ColorSpaceDielectricSpec.xyz, tmpvar_3, float3(_Metallic, _Metallic, _Metallic));
    tmpvar_4 = (tmpvar_3 * (unity_ColorSpaceDielectricSpec.w - (_Metallic * unity_ColorSpaceDielectricSpec.w)));
    float3 tmpvar_6;
    tmpvar_6 = _LightColor0.xyz;
    float tmpvar_7;
    float4 tmpvar_8;
    tmpvar_8 = tex2D(_OcclusionMap, in_f.xlv_TEXCOORD0.xy);
    tmpvar_7 = tmpvar_8.y;
    rl_1 = dot(in_f.xlv_TEXCOORD4.yzw, _WorldSpaceLightPos0.xyz);
    float4 tmpvar_9;
    tmpvar_9 = unity_SpecCube0_HDR;
    float tmpvar_10;
    tmpvar_10 = (1 - _Glossiness);
    float4 hdr_11;
    hdr_11 = tmpvar_9;
    float4 tmpvar_12;
    tmpvar_12.xyz = in_f.xlv_TEXCOORD4.yzw;
    tmpvar_12.w = ((tmpvar_10 * (1.7 - (0.7 * tmpvar_10))) * 6);
    float4 tmpvar_13;
    tmpvar_13 = texCUBE(unity_SpecCube0, in_f.xlv_TEXCOORD4.yzw, tmpvar_12.w);
    float4 tmpvar_14;
    tmpvar_14 = tmpvar_13;
    float2 tmpvar_15;
    tmpvar_15.x = ((rl_1 * rl_1) * (rl_1 * rl_1));
    tmpvar_15.y = tmpvar_10;
    float4 tmpvar_16;
    tmpvar_16 = tex2D(unity_NHxRoughness, tmpvar_15);
    float4 tmpvar_17;
    tmpvar_17.w = 1;
    tmpvar_17.xyz = ((((in_f.xlv_TEXCOORD2.xyz * tmpvar_7) * tmpvar_4) + ((((tmpvar_14.w * hdr_11.x) * tmpvar_14.xyz) * tmpvar_7) * lerp(tmpvar_5, in_f.xlv_TEXCOORD1.www, in_f.xlv_TEXCOORD5.www))) + ((tmpvar_4 + ((tmpvar_16.w * 16) * tmpvar_5)) * (tmpvar_6 * clamp(dot(in_f.xlv_TEXCOORD5.xyz, _WorldSpaceLightPos0.xyz), 0, 1))));
    float4 xlat_varoutput_18;
    xlat_varoutput_18.xyz = tmpvar_17.xyz;
    xlat_varoutput_18.w = 1;
    out_f.color = xlat_varoutput_18;
    return out_f;
}


ENDCG

}
 Pass {
  Name "FORWARD_DELTA"
  Tags { "LIGHTMODE"="ForwardAdd" "SHADOWSUPPORT"="true" "RenderType"="Opaque" "PerformanceChecks"="False" }
  ZWrite Off
  Blend [_SrcBlend] One
  GpuProgramID 443686
CGPROGRAM
//#pragma target 4.0

#pragma vertex vert
#pragma fragment frag

#include "UnityCG.cginc"
#define conv_mxt4x4_0(mat4x4) float4(mat4x4[0].x,mat4x4[1].x,mat4x4[2].x,mat4x4[3].x)
#define conv_mxt4x4_1(mat4x4) float4(mat4x4[0].y,mat4x4[1].y,mat4x4[2].y,mat4x4[3].y)
#define conv_mxt4x4_2(mat4x4) float4(mat4x4[0].z,mat4x4[1].z,mat4x4[2].z,mat4x4[3].z)
#define conv_mxt4x4_3(mat4x4) float4(mat4x4[0].w,mat4x4[1].w,mat4x4[2].w,mat4x4[3].w)


#define CODE_BLOCK_VERTEX
//uniform float3 _WorldSpaceCameraPos;
//uniform float4 _WorldSpaceLightPos0;
//uniform float4x4 UNITY_MATRIX_MVP;
//uniform float4x4 unity_ObjectToWorld;
// uniform float4x4 _World2Object;
uniform float4 _MainTex_ST;
uniform float4 _DetailAlbedoMap_ST;
uniform float _UVSec;
uniform float4x4 unity_WorldToLight;
uniform float4 unity_ColorSpaceDielectricSpec;
uniform float4 _LightColor0;
uniform sampler2D unity_NHxRoughness;
uniform float4 _Color;
uniform sampler2D _MainTex;
uniform float _Metallic;
uniform float _Glossiness;
uniform sampler2D _LightTexture0;
struct appdata_t
{
    float4 vertex :POSITION;
    float3 normal :NORMAL;
    float4 texcoord :TEXCOORD0;
    float4 texcoord1 :TEXCOORD1;
};

struct OUT_Data_Vert
{
    float4 xlv_TEXCOORD0 :TEXCOORD0;
    float3 xlv_TEXCOORD1 :TEXCOORD1;
    float4 xlv_TEXCOORD3 :TEXCOORD3;
    float3 xlv_TEXCOORD4 :TEXCOORD4;
    float3 xlv_TEXCOORD5 :TEXCOORD5;
    float4 vertex :SV_POSITION;
};

struct v2f
{
    float4 xlv_TEXCOORD0 :TEXCOORD0;
    float3 xlv_TEXCOORD1 :TEXCOORD1;
    float4 xlv_TEXCOORD3 :TEXCOORD3;
    float3 xlv_TEXCOORD4 :TEXCOORD4;
    float3 xlv_TEXCOORD5 :TEXCOORD5;
};

struct OUT_Data_Frag
{
    float4 color :SV_Target0;
};

OUT_Data_Vert vert(appdata_t in_v)
{
    OUT_Data_Vert out_v;
    float3 tmpvar_1;
    tmpvar_1 = in_v.normal;
    float2 tmpvar_2;
    tmpvar_2 = in_v.texcoord.xy;
    float2 tmpvar_3;
    tmpvar_3 = in_v.texcoord1.xy;
    float3 normalWorld_4;
    float3 eyeVec_5;
    float3 lightDir_6;
    float4 tmpvar_7;
    float4 tmpvar_8;
    float4 tmpvar_9;
    tmpvar_9 = mul(unity_ObjectToWorld, in_v.vertex);
    tmpvar_7 = UnityObjectToClipPos(in_v.vertex);
    float4 texcoord_10;
    texcoord_10.xy = TRANSFORM_TEX(in_v.texcoord.xy, _MainTex);
    float2 tmpvar_11;
    if((_UVSec==0))
    {
        tmpvar_11 = tmpvar_2;
    }
    else
    {
        tmpvar_11 = tmpvar_3;
    }
    texcoord_10.zw = TRANSFORM_TEX(tmpvar_11, _DetailAlbedoMap);
    float3 tmpvar_12;
    tmpvar_12 = (_WorldSpaceLightPos0.xyz - (tmpvar_9.xyz * _WorldSpaceLightPos0.w));
    lightDir_6 = tmpvar_12;
    float3 tmpvar_13;
    tmpvar_13 = normalize(lightDir_6);
    lightDir_6 = tmpvar_13;
    float3 tmpvar_14;
    tmpvar_14 = normalize((tmpvar_9.xyz - _WorldSpaceCameraPos));
    eyeVec_5 = tmpvar_14;
    float3 norm_15;
    norm_15 = tmpvar_1;
    float4 v_16;
    v_16.x = conv_mxt4x4_0(unity_WorldToObject).x;
    v_16.y = conv_mxt4x4_1(unity_WorldToObject).x;
    v_16.z = conv_mxt4x4_2(unity_WorldToObject).x;
    v_16.w = conv_mxt4x4_3(unity_WorldToObject).x;
    float4 v_17;
    v_17.x = conv_mxt4x4_0(unity_WorldToObject).y;
    v_17.y = conv_mxt4x4_1(unity_WorldToObject).y;
    v_17.z = conv_mxt4x4_2(unity_WorldToObject).y;
    v_17.w = conv_mxt4x4_3(unity_WorldToObject).y;
    float4 v_18;
    v_18.x = conv_mxt4x4_0(unity_WorldToObject).z;
    v_18.y = conv_mxt4x4_1(unity_WorldToObject).z;
    v_18.z = conv_mxt4x4_2(unity_WorldToObject).z;
    v_18.w = conv_mxt4x4_3(unity_WorldToObject).z;
    float3 tmpvar_19;
    tmpvar_19 = normalize((((v_16.xyz * norm_15.x) + (v_17.xyz * norm_15.y)) + (v_18.xyz * norm_15.z)));
    normalWorld_4 = tmpvar_19;
    tmpvar_8.yzw = (eyeVec_5 - (2 * (dot(normalWorld_4, eyeVec_5) * normalWorld_4)));
    out_v.vertex = tmpvar_7;
    out_v.xlv_TEXCOORD0 = texcoord_10;
    out_v.xlv_TEXCOORD1 = mul(unity_WorldToLight, mul(unity_ObjectToWorld, in_v.vertex)).xyz;
    out_v.xlv_TEXCOORD3 = tmpvar_8;
    out_v.xlv_TEXCOORD4 = tmpvar_13;
    out_v.xlv_TEXCOORD5 = normalWorld_4;
    return out_v;
}

#define CODE_BLOCK_FRAGMENT
OUT_Data_Frag frag(v2f in_f)
{
    OUT_Data_Frag out_f;
    float3 c_1;
    float4 tmpvar_2;
    tmpvar_2 = tex2D(_MainTex, in_f.xlv_TEXCOORD0.xy);
    float3 tmpvar_3;
    tmpvar_3 = (_Color.xyz * tmpvar_2.xyz);
    float tmpvar_4;
    tmpvar_4 = dot(in_f.xlv_TEXCOORD3.yzw, in_f.xlv_TEXCOORD4);
    float2 tmpvar_5;
    tmpvar_5.x = ((tmpvar_4 * tmpvar_4) * (tmpvar_4 * tmpvar_4));
    tmpvar_5.y = (1 - _Glossiness);
    float4 tmpvar_6;
    tmpvar_6 = tex2D(unity_NHxRoughness, tmpvar_5);
    c_1 = (((tmpvar_3 * (unity_ColorSpaceDielectricSpec.w - (_Metallic * unity_ColorSpaceDielectricSpec.w))) + ((tmpvar_6.w * 16) * lerp(unity_ColorSpaceDielectricSpec.xyz, tmpvar_3, float3(_Metallic, _Metallic, _Metallic)))) * _LightColor0.xyz);
    float tmpvar_7;
    tmpvar_7 = dot(in_f.xlv_TEXCOORD1, in_f.xlv_TEXCOORD1);
    float4 tmpvar_8;
    tmpvar_8 = tex2D(_LightTexture0, float2(tmpvar_7, tmpvar_7));
    c_1 = (c_1 * (tmpvar_8.w * clamp(dot(in_f.xlv_TEXCOORD5, in_f.xlv_TEXCOORD4), 0, 1)));
    float4 tmpvar_9;
    tmpvar_9.w = 1;
    tmpvar_9.xyz = float3(c_1);
    float4 xlat_varoutput_10;
    xlat_varoutput_10.xyz = tmpvar_9.xyz;
    xlat_varoutput_10.w = 1;
    out_f.color = xlat_varoutput_10;
    return out_f;
}


ENDCG

}
 Pass {
  Name "SHADOWCASTER"
  Tags { "LIGHTMODE"="SHADOWCASTER" "SHADOWSUPPORT"="true" "RenderType"="Opaque" "PerformanceChecks"="False" }
  GpuProgramID 488501
CGPROGRAM
//#pragma target 4.0

#pragma vertex vert
#pragma fragment frag

#include "UnityCG.cginc"
#define conv_mxt4x4_0(mat4x4) float4(mat4x4[0].x,mat4x4[1].x,mat4x4[2].x,mat4x4[3].x)
#define conv_mxt4x4_1(mat4x4) float4(mat4x4[0].y,mat4x4[1].y,mat4x4[2].y,mat4x4[3].y)
#define conv_mxt4x4_2(mat4x4) float4(mat4x4[0].z,mat4x4[1].z,mat4x4[2].z,mat4x4[3].z)
#define conv_mxt4x4_3(mat4x4) float4(mat4x4[0].w,mat4x4[1].w,mat4x4[2].w,mat4x4[3].w)


#define CODE_BLOCK_VERTEX
//uniform float4 _WorldSpaceLightPos0;
//uniform float4 unity_LightShadowBias;
//uniform float4x4 UNITY_MATRIX_MVP;
//uniform float4x4 unity_ObjectToWorld;
// uniform float4x4 _World2Object;
//uniform float4x4 unity_MatrixVP;
struct appdata_t
{
    float4 vertex :POSITION;
    float3 normal :NORMAL;
};

struct OUT_Data_Vert
{
    float4 vertex :SV_POSITION;
};

struct v2f
{
    float4 vertex :Position;
};

struct OUT_Data_Frag
{
    float4 color :SV_Target0;
};

OUT_Data_Vert vert(appdata_t in_v)
{
    OUT_Data_Vert out_v;
    float3 vertex_1;
    vertex_1 = in_v.vertex.xyz;
    float4 clipPos_2;
    if((unity_LightShadowBias.z!=0))
    {
        float4 tmpvar_3;
        tmpvar_3.w = 1;
        tmpvar_3.xyz = float3(vertex_1);
        float3 tmpvar_4;
        tmpvar_4 = mul(unity_ObjectToWorld, tmpvar_3).xyz;
        float4 v_5;
        v_5.x = conv_mxt4x4_0(unity_WorldToObject).x;
        v_5.y = conv_mxt4x4_1(unity_WorldToObject).x;
        v_5.z = conv_mxt4x4_2(unity_WorldToObject).x;
        v_5.w = conv_mxt4x4_3(unity_WorldToObject).x;
        float4 v_6;
        v_6.x = conv_mxt4x4_0(unity_WorldToObject).y;
        v_6.y = conv_mxt4x4_1(unity_WorldToObject).y;
        v_6.z = conv_mxt4x4_2(unity_WorldToObject).y;
        v_6.w = conv_mxt4x4_3(unity_WorldToObject).y;
        float4 v_7;
        v_7.x = conv_mxt4x4_0(unity_WorldToObject).z;
        v_7.y = conv_mxt4x4_1(unity_WorldToObject).z;
        v_7.z = conv_mxt4x4_2(unity_WorldToObject).z;
        v_7.w = conv_mxt4x4_3(unity_WorldToObject).z;
        float3 tmpvar_8;
        tmpvar_8 = normalize((((v_5.xyz * in_v.normal.x) + (v_6.xyz * in_v.normal.y)) + (v_7.xyz * in_v.normal.z)));
        float tmpvar_9;
        tmpvar_9 = dot(tmpvar_8, normalize((_WorldSpaceLightPos0.xyz - (tmpvar_4 * _WorldSpaceLightPos0.w))));
        float4 tmpvar_10;
        tmpvar_10.w = 1;
        tmpvar_10.xyz = (tmpvar_4 - (tmpvar_8 * (unity_LightShadowBias.z * sqrt((1 - (tmpvar_9 * tmpvar_9))))));
        clipPos_2 = mul(unity_MatrixVP, tmpvar_10);
    }
    else
    {
        float4 tmpvar_11;
        tmpvar_11.w = 1;
        tmpvar_11.xyz = float3(vertex_1);
        clipPos_2 = UnityObjectToClipPos(tmpvar_11);
    }
    float4 clipPos_12;
    clipPos_12.xyw = clipPos_2.xyw;
    clipPos_12.z = (clipPos_2.z + clamp((unity_LightShadowBias.x / clipPos_2.w), 0, 1));
    clipPos_12.z = lerp(clipPos_12.z, max(clipPos_12.z, (-clipPos_2.w)), unity_LightShadowBias.y);
    out_v.vertex = clipPos_12;
    return out_v;
}

#define CODE_BLOCK_FRAGMENT
OUT_Data_Frag frag(v2f in_f)
{
    OUT_Data_Frag out_f;
    out_f.color = float4(0, 0, 0, 0);
    return out_f;
}


ENDCG

}
}
Fallback "VertexLit"
}